package maquinaP;

import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;

public class MemoriaInstrucciones {
	private ArrayList<String> memoria = null;
	private Reader input;
	private boolean fin= false;
	
	
	MemoriaInstrucciones(Reader input) throws IOException{
		this.input = input;
		memoria = new ArrayList<String>();
		leerDatos();		
	}
	
	private void leerDatos() throws IOException{
		String instruccion = siguienteInstruccion();
		memoria.add(instruccion);
		
		while (!fin){ 
			instruccion = siguienteInstruccion();
			memoria.add(instruccion);
		}
	}
	
	private String siguienteInstruccion() throws IOException {
		char c = ' ';
		String instruccion = "";

		while(c != '\n' ){
			c = (char)input.read(); 
			if(c != '\n' && c != '\r'){
				instruccion = instruccion + c;
			}
		}
		if (instruccion.equals("stop")) fin = true;
		return instruccion;
	}

	public String getI(int cProg) {
		return memoria.get(cProg);
	}
}
